package com.ymttest.database.model.mongo.query;


import java.math.BigDecimal;
import java.util.List;

import org.springframework.data.mongodb.core.mapping.Field;

import com.ymttest.database.model.annotation.Column;
import com.ymttest.database.model.annotation.Table;

/**
 * 商品信息
 * Created by zhangyifan on 2016/12/8.
 */
public class Product {
    /**
     * prd
     * 商品索引
     */
    @Table("Ymt_OrderInfo")
    @Column("sOrderInfoId")
    @Field("itemId")
    private String itemId;

    /**
     * prd
     * 物流类型
     */
    @Table("Ymt_OrderInfo")
    @Column("iCatalogStatus")
    @Field("dlvTp")
    private Integer deliveryType;

    /**
     * prd
     * 备货状态
     */
    @Table("Ymt_OrderInfo")
    @Column("iCatalogType")
    @Field("stkSt")
    private Integer stockStatus;

    /**
     * prd
     * 商品成交价
     */
    @Table("Ymt_OrderInfo")
    @Column("fProductPrice")
    @Field("prdPrc")
    private BigDecimal prdPrice;

    /**
     * prd
     * 商品折扣
     */
    @Table("Ymt_OrderInfo")
    @Column("fDiscount")
    @Field("prdDisc")
    private BigDecimal prdDiscount;

    /**
     * prd
     * 原价定金
     */
    @Table("Ymt_OrderInfo")
    @Column("fOriginalPrice")
    @Field("prdPrePrc")
    private BigDecimal prdPrePrice;

    /**
     * prd
     * 商品原价
     */
    @Table("Ymt_OrderInfo")
    @Column("fProductOriginalPrice")
    @Field("prdOPrc")
    private BigDecimal prdOriginalPrice;

    /**
     * prd
     * 属性组合信息
     */
    @Table("Ymt_OrderInfo")
    @Column("sPropertyInfo")
    @Field("prop")
    private String propertyInfo;

    /**
     * prd
     * 商品数量
     */
    @Table("Ymt_OrderInfo")
    @Column("iAmount")
    @Field("prdCnt")
    private Integer prdCount;

    /**
     * prd
     * 商品规格id
     */
    @Table("Ymt_OrderInfo")
    @Column("sCatalogId")
    @Field("cataId")
    private String cataId;

    /**
     * prd
     * 一级分类
     */
    @Table("Ymt_OrderInfo")
    @Column("iProductMainCategoryId")
    @Field("cata1Id")
    private Integer cata1Id;

    /**
     * prd
     * 二级分类
     */
    @Table("Ymt_OrderInfo")
    @Column("iProductSubCategoryId")
    @Field("cata2Id")
    private Integer cata2Id;

    /**
     * prd
     * 三级分类
     */
    @Table("Ymt_OrderInfo")
    @Column("iProductThirdCategoryId")
    @Field("cata3Id")
    private Integer cata3Id;

    /**
     * prd
     * 商品品牌id
     */
    @Table("Ymt_OrderInfo")
    @Column("iProductBrandId")
    @Field("brandId")
    private Integer brandId;

    /**
     * prd
     * 规格
     */
    @Table("Ymt_OrderInfo")
    @Column("sSKU")
    @Field("sku")
    private String sku;

    /**
     * prd
     * 商品id
     */
    @Table("Ymt_OrderInfo")
    @Column("sProductId")
    @Field("prdId")
    private String productId;

    /**
     * prd
     * 图片地址
     */
    @Table("Ymt_OrderInfo")
    @Column("sPictureUrl")
    @Field("picUrl")
    private String picUrl;

    /**
     * prd
     * 标题
     */
    @Table("Ymt_OrderInfo")
    @Column("sTitle")
    @Field("title")
    private String title;

    /**
     * prd
     * 保税区
     */
    @Table("Ymt_OrderInfo")
    @Column("iBondedArea")
    @Field("bonded")
    private Integer bondedArea;

    /**
     * prd
     * 原价
     */
    @Table("Ymt_OrderInfo")
    @Column("iPriceType")
    @Field("prcTp")
    private Integer priceType;

    /**
     * prd
     * 商品退款状态
     */
    @Table("Ymt_OrderInfo")
    @Column("iProductRefundStatus")
    @Field("prdRfdSt")
    private Integer prdRefundStatus;

    /**
     * prd
     * 退货方式
     */
    @Table("Ymt_OrderInfo")
    @Column("iProductRefundChannel")
    @Field("rfdchl")
    private Integer refundChannel;

    /**
     * prd
     * 商品运费
     */
    @Table("Ymt_OrderInfo")
    @Column("fFreight")
    @Field("prdFreight")
    private BigDecimal prdFreight;

    /**
     * prd
     * 商品平台优惠券
     */
    @Table("Ymt_OrderInfo")
    @Column("fYmtCouponAmount")
    @Field("prdYmtCop")
    private BigDecimal prdYmtCoupon;

    /**
     * prd
     * 商品卖家优惠券
     */
    @Table("Ymt_OrderInfo")
    @Column("fSellerCouponAmount")
    @Field("prdSellerCop")
    private BigDecimal prdSellerCoupon;

    /**
     * prd
     * 关税承担
     */
    @Table("Ymt_OrderInfo")
    @Column("iTariffType")
    @Field("tariffTp")
    private Integer tariffType;

    /**
     * prd
     * 销售类型现货直播 1:现货 2:直播
     */
    @Table("Ymt_OrderInfo")
    @Column("iSalesType")
    @Field("salesTp")
    private Integer salesType;

    /**
     * prd
     * 商品预售
     */
    @Table("Ymt_OrderInfo")
    @Column("bPreSale")
    @Field("prdPreSale")
    private boolean prdPreSale;

    /**
     * prd
     * 商品三方折扣
     */
    @Table("Ymt_OrderInfo")
    @Column("fThirdPartyDiscount")
    @Field("prdDisc3P")
    private BigDecimal prdDiscount3P;

    /**
     * prd
     * 7天无条件退款
     */
    @Table("Ymt_OrderInfo")
    @Column("bSupportRtnWithoutReason")
    @Field("rtn7d")
    private boolean return7d;

    /**
     * prd
     * 促销金额
     */
    @Table("Ymt_OrderInfo")
    @Column("fSellerPromotionAmount")
    @Field("prdPromAmt")
    private BigDecimal prdPromotionAmount;

    /**
     * prd
     * 套餐编号
     */
    @Table("Ymt_OrderInfo")
    @Column("sPackageNo")
    @Field("packNo")
    private String packageNo;

    /**
     * prd
     * 商品免运费
     */
    @Table("Ymt_OrderInfo")
    @Column("bFreightFree")
    @Field("freightFree")
    private boolean freightFree;

    /**
     * prd
     * 商品快照
     */
    @Table("Ymt_OrderInfo")
    @Column("sProductVer")
    @Field("prdVer")
    private String productVersion;

    /**
     * prd
     * 商品本案号
     */
    @Table("Ymt_OrderInfo")
    @Column("sProductCode")
    @Field("prdCode")
    private String productCode;

    /**
     * prd
     * 是否psp
     */
    @Table("Ymt_OrderInfo")
    @Column("bPspProduct")
    @Field("psp")
    private boolean pspProduct;
    
    public boolean isPspProduct() {
		return pspProduct;
	}

	public void setPspProduct(boolean pspProduct) {
		this.pspProduct = pspProduct;
	}

	/**
     * prd
     * 活动ID
     */
    @Table("Ymt_OrderInfoExt")
    @Column("iActivityId")
    @Field("actId")
    private Integer actId;

    /**
     * prd
     * 活动模版ID
     */
    @Table("Ymt_OrderInfoExt")
    @Column("iActivityTemplateId")
    @Field("actTplId")
    private Integer actTemplateId;

    /**
     * prd
     * 促销活动ID
     */
    @Table("Ymt_SellerPromotion")
    @Column("PromotionId")
    @Field("promId")
    private Long promotionId;

    /**
     * prd
     * 促销活动类型
     */
    @Table("Ymt_SellerPromotion")
    @Column("PromotionType")
    @Field("promTp")
    private Integer promotionType;

    /**
     * prd
     * 促销活动名称
     */
    @Table("Ymt_SellerPromotion")
    @Column("PromotionName")
    @Field("promName")
    private String promotionName;

    /**
     * prd
     * 促销条件
     */
    @Table("Ymt_SellerPromotion")
    @Column("MatchCondition")
    @Field("promCdt")
    private String promotionCondition;

    /**
     * prd
     * 促销话术
     */
    @Table("Ymt_SellerPromotion")
    @Column("PromotionValue")
    @Field("promCont")
    private String promotionContent;

    /**
     * prd
     * 促销共优惠金额
     */
    @Table("Ymt_SellerPromotion")
    @Column("ReducedAmount")
    @Field("promAmt")
    private BigDecimal promotionAmount;

    /**
     * prd
     * 商品退款数量
     */
    @Table("Ymt_RefundProduct")
    @Column("RefundProductNum")
    @Field("rfdCnt")
    private Integer refundCount;


    /**
     * prd
     * 商品退款单号
     */
    @Table("Ymt_RefundProduct")
    @Column("RefundBillNo")
    @Field("prdRfdNo")
    private String prdRefundNo;


    public String getItemId() {
        return itemId;
    }

    public void setItemId(String itemId) {
        this.itemId = itemId;
    }

    public Integer getDeliveryType() {
        return deliveryType;
    }

    public void setDeliveryType(Integer deliveryType) {
        this.deliveryType = deliveryType;
    }

    public Integer getStockStatus() {
        return stockStatus;
    }

    public void setStockStatus(Integer stockStatus) {
        this.stockStatus = stockStatus;
    }

    public BigDecimal getPrdPrice() {
        return prdPrice;
    }

    public void setPrdPrice(BigDecimal prdPrice) {
        this.prdPrice = prdPrice;
    }

    public BigDecimal getPrdDiscount() {
        return prdDiscount;
    }

    public void setPrdDiscount(BigDecimal prdDiscount) {
        this.prdDiscount = prdDiscount;
    }

    public BigDecimal getPrdPrePrice() {
        return prdPrePrice;
    }

    public void setPrdPrePrice(BigDecimal prdPrePrice) {
        this.prdPrePrice = prdPrePrice;
    }

    public BigDecimal getPrdOriginalPrice() {
        return prdOriginalPrice;
    }

    public void setPrdOriginalPrice(BigDecimal prdOriginalPrice) {
        this.prdOriginalPrice = prdOriginalPrice;
    }

    public String getPropertyInfo() {
        return propertyInfo;
    }

    public void setPropertyInfo(String propertyInfo) {
        this.propertyInfo = propertyInfo;
    }

    public Integer getPrdCount() {
        return prdCount;
    }

    public void setPrdCount(Integer prdCount) {
        this.prdCount = prdCount;
    }

    public String getCataId() {
        return cataId;
    }

    public void setCataId(String cataId) {
        this.cataId = cataId;
    }

    public Integer getCata1Id() {
        return cata1Id;
    }

    public void setCata1Id(Integer cata1Id) {
        this.cata1Id = cata1Id;
    }

    public Integer getCata2Id() {
        return cata2Id;
    }

    public void setCata2Id(Integer cata2Id) {
        this.cata2Id = cata2Id;
    }

    public Integer getCata3Id() {
        return cata3Id;
    }

    public void setCata3Id(Integer cata3Id) {
        this.cata3Id = cata3Id;
    }

    public Integer getBrandId() {
        return brandId;
    }

    public void setBrandId(Integer brandId) {
        this.brandId = brandId;
    }

    public String getSku() {
        return sku;
    }

    public void setSku(String sku) {
        this.sku = sku;
    }

    public String getProductId() {
        return productId;
    }

    public void setProductId(String productId) {
        this.productId = productId;
    }

    public String getPicUrl() {
        return picUrl;
    }

    public void setPicUrl(String picUrl) {
        this.picUrl = picUrl;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public Integer getBondedArea() {
        return bondedArea;
    }

    public void setBondedArea(Integer bondedArea) {
        this.bondedArea = bondedArea;
    }

    public Integer getPriceType() {
        return priceType;
    }

    public void setPriceType(Integer priceType) {
        this.priceType = priceType;
    }

    public Integer getPrdRefundStatus() {
        return prdRefundStatus;
    }

    public void setPrdRefundStatus(Integer prdRefundStatus) {
        this.prdRefundStatus = prdRefundStatus;
    }

    public Integer getRefundChannel() {
        return refundChannel;
    }

    public void setRefundChannel(Integer refundChannel) {
        this.refundChannel = refundChannel;
    }

    public BigDecimal getPrdFreight() {
        return prdFreight;
    }

    public void setPrdFreight(BigDecimal prdFreight) {
        this.prdFreight = prdFreight;
    }

    public BigDecimal getPrdYmtCoupon() {
        return prdYmtCoupon;
    }

    public void setPrdYmtCoupon(BigDecimal prdYmtCoupon) {
        this.prdYmtCoupon = prdYmtCoupon;
    }

    public BigDecimal getPrdSellerCoupon() {
        return prdSellerCoupon;
    }

    public void setPrdSellerCoupon(BigDecimal prdSellerCoupon) {
        this.prdSellerCoupon = prdSellerCoupon;
    }

    public Integer getTariffType() {
        return tariffType;
    }

    public void setTariffType(Integer tariffType) {
        this.tariffType = tariffType;
    }

    public Integer getSalesType() {
        return salesType;
    }

    public void setSalesType(Integer salesType) {
        this.salesType = salesType;
    }

    public boolean getPrdPreSale() {
        return prdPreSale;
    }

    public void setPrdPreSale(boolean prdPreSale) {
        this.prdPreSale = prdPreSale;
    }

    public BigDecimal getPrdDiscount3P() {
        return prdDiscount3P;
    }

    public void setPrdDiscount3P(BigDecimal prdDiscount3P) {
        this.prdDiscount3P = prdDiscount3P;
    }

    public boolean getReturn7d() {
        return return7d;
    }

    public void setReturn7d(boolean return7d) {
        this.return7d = return7d;
    }

    public BigDecimal getPrdPromotionAmount() {
        return prdPromotionAmount;
    }

    public void setPrdPromotionAmount(BigDecimal prdPromotionAmount) {
        this.prdPromotionAmount = prdPromotionAmount;
    }

    public String getPackageNo() {
        return packageNo;
    }

    public void setPackageNo(String packageNo) {
        this.packageNo = packageNo;
    }

    public String getProductVersion() {
        return productVersion;
    }

    public void setProductVersion(String productVersion) {
        this.productVersion = productVersion;
    }

    public String getProductCode() {
        return productCode;
    }

    public void setProductCode(String productCode) {
        this.productCode = productCode;
    }

    public Integer getActId() {
        return actId;
    }

    public void setActId(Integer actId) {
        this.actId = actId;
    }

    public Integer getActTemplateId() {
        return actTemplateId;
    }

    public void setActTemplateId(Integer actTemplateId) {
        this.actTemplateId = actTemplateId;
    }

    public Long getPromotionId() {
        return promotionId;
    }

    public void setPromotionId(Long promotionId) {
        this.promotionId = promotionId;
    }

    public Integer getPromotionType() {
        return promotionType;
    }

    public void setPromotionType(Integer promotionType) {
        this.promotionType = promotionType;
    }

    public String getPromotionName() {
        return promotionName;
    }

    public void setPromotionName(String promotionName) {
        this.promotionName = promotionName;
    }

    public String getPromotionCondition() {
        return promotionCondition;
    }

    public void setPromotionCondition(String promotionCondition) {
        this.promotionCondition = promotionCondition;
    }

    public String getPromotionContent() {
        return promotionContent;
    }

    public void setPromotionContent(String promotionContent) {
        this.promotionContent = promotionContent;
    }

    public BigDecimal getPromotionAmount() {
        return promotionAmount;
    }

    public void setPromotionAmount(BigDecimal promotionAmount) {
        this.promotionAmount = promotionAmount;
    }

    public Integer getRefundCount() {
        return refundCount;
    }

    public void setRefundCount(Integer refundCount) {
        this.refundCount = refundCount;
    }

    public String getPrdRefundNo() {
        return prdRefundNo;
    }

    public void setPrdRefundNo(String prdRefundNo) {
        this.prdRefundNo = prdRefundNo;
    }

    public boolean isFreightFree() {
        return freightFree;
    }

    public void setFreightFree(boolean freightFree) {
        this.freightFree = freightFree;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (!(o instanceof Product)) return false;

        Product product = (Product) o;

        if (getPrdPreSale() != product.getPrdPreSale()) return false;
        if (getReturn7d() != product.getReturn7d()) return false;
        if (isFreightFree() != product.isFreightFree()) return false;
        if (getItemId() != null ? !getItemId().equals(product.getItemId()) : product.getItemId() != null) return false;
        if (getDeliveryType() != null ? !getDeliveryType().equals(product.getDeliveryType()) : product.getDeliveryType() != null)
            return false;
        if (getStockStatus() != null ? !getStockStatus().equals(product.getStockStatus()) : product.getStockStatus() != null)
            return false;
        if (getPrdPrice() != null ? !getPrdPrice().equals(product.getPrdPrice()) : product.getPrdPrice() != null)
            return false;
        if (getPrdDiscount() != null ? !getPrdDiscount().equals(product.getPrdDiscount()) : product.getPrdDiscount() != null)
            return false;
        if (getPrdPrePrice() != null ? !getPrdPrePrice().equals(product.getPrdPrePrice()) : product.getPrdPrePrice() != null)
            return false;
        if (getPrdOriginalPrice() != null ? !getPrdOriginalPrice().equals(product.getPrdOriginalPrice()) : product.getPrdOriginalPrice() != null)
            return false;
        if (getPropertyInfo() != null ? !getPropertyInfo().equals(product.getPropertyInfo()) : product.getPropertyInfo() != null)
            return false;
        if (getPrdCount() != null ? !getPrdCount().equals(product.getPrdCount()) : product.getPrdCount() != null)
            return false;
        if (getCataId() != null ? !getCataId().equals(product.getCataId()) : product.getCataId() != null) return false;
        if (getCata1Id() != null ? !getCata1Id().equals(product.getCata1Id()) : product.getCata1Id() != null)
            return false;
        if (getCata2Id() != null ? !getCata2Id().equals(product.getCata2Id()) : product.getCata2Id() != null)
            return false;
        if (getCata3Id() != null ? !getCata3Id().equals(product.getCata3Id()) : product.getCata3Id() != null)
            return false;
        if (getBrandId() != null ? !getBrandId().equals(product.getBrandId()) : product.getBrandId() != null)
            return false;
        if (getSku() != null ? !getSku().equals(product.getSku()) : product.getSku() != null) return false;
        if (getProductId() != null ? !getProductId().equals(product.getProductId()) : product.getProductId() != null)
            return false;
        if (getPicUrl() != null ? !getPicUrl().equals(product.getPicUrl()) : product.getPicUrl() != null) return false;
        if (getTitle() != null ? !getTitle().equals(product.getTitle()) : product.getTitle() != null) return false;
        if (getBondedArea() != null ? !getBondedArea().equals(product.getBondedArea()) : product.getBondedArea() != null)
            return false;
        if (getPriceType() != null ? !getPriceType().equals(product.getPriceType()) : product.getPriceType() != null)
            return false;
        if (getPrdRefundStatus() != null ? !getPrdRefundStatus().equals(product.getPrdRefundStatus()) : product.getPrdRefundStatus() != null)
            return false;
        if (getRefundChannel() != null ? !getRefundChannel().equals(product.getRefundChannel()) : product.getRefundChannel() != null)
            return false;
        if (getPrdFreight() != null ? !getPrdFreight().equals(product.getPrdFreight()) : product.getPrdFreight() != null)
            return false;
        if (getPrdYmtCoupon() != null ? !getPrdYmtCoupon().equals(product.getPrdYmtCoupon()) : product.getPrdYmtCoupon() != null)
            return false;
        if (getPrdSellerCoupon() != null ? !getPrdSellerCoupon().equals(product.getPrdSellerCoupon()) : product.getPrdSellerCoupon() != null)
            return false;
        if (getTariffType() != null ? !getTariffType().equals(product.getTariffType()) : product.getTariffType() != null)
            return false;
        if (getSalesType() != null ? !getSalesType().equals(product.getSalesType()) : product.getSalesType() != null)
            return false;
        if (getPrdDiscount3P() != null ? !getPrdDiscount3P().equals(product.getPrdDiscount3P()) : product.getPrdDiscount3P() != null)
            return false;
        if (getPrdPromotionAmount() != null ? !getPrdPromotionAmount().equals(product.getPrdPromotionAmount()) : product.getPrdPromotionAmount() != null)
            return false;
        if (getPackageNo() != null ? !getPackageNo().equals(product.getPackageNo()) : product.getPackageNo() != null)
            return false;
        if (getProductVersion() != null ? !getProductVersion().equals(product.getProductVersion()) : product.getProductVersion() != null)
            return false;
        if (getProductCode() != null ? !getProductCode().equals(product.getProductCode()) : product.getProductCode() != null)
            return false;
        if (getActId() != null ? !getActId().equals(product.getActId()) : product.getActId() != null) return false;
        if (getActTemplateId() != null ? !getActTemplateId().equals(product.getActTemplateId()) : product.getActTemplateId() != null)
            return false;
        if (getPromotionId() != null ? !getPromotionId().equals(product.getPromotionId()) : product.getPromotionId() != null)
            return false;
        if (getPromotionType() != null ? !getPromotionType().equals(product.getPromotionType()) : product.getPromotionType() != null)
            return false;
        if (getPromotionName() != null ? !getPromotionName().equals(product.getPromotionName()) : product.getPromotionName() != null)
            return false;
        if (getPromotionCondition() != null ? !getPromotionCondition().equals(product.getPromotionCondition()) : product.getPromotionCondition() != null)
            return false;
        if (getPromotionContent() != null ? !getPromotionContent().equals(product.getPromotionContent()) : product.getPromotionContent() != null)
            return false;
        if (getPromotionAmount() != null ? !getPromotionAmount().equals(product.getPromotionAmount()) : product.getPromotionAmount() != null)
            return false;
        if (getRefundCount() != null ? !getRefundCount().equals(product.getRefundCount()) : product.getRefundCount() != null)
            return false;
        return getPrdRefundNo() != null ? getPrdRefundNo().equals(product.getPrdRefundNo()) : product.getPrdRefundNo() == null;

    }

    @Override
    public int hashCode() {
        int result = getItemId() != null ? getItemId().hashCode() : 0;
        result = 31 * result + (getDeliveryType() != null ? getDeliveryType().hashCode() : 0);
        result = 31 * result + (getStockStatus() != null ? getStockStatus().hashCode() : 0);
        result = 31 * result + (getPrdPrice() != null ? getPrdPrice().hashCode() : 0);
        result = 31 * result + (getPrdDiscount() != null ? getPrdDiscount().hashCode() : 0);
        result = 31 * result + (getPrdPrePrice() != null ? getPrdPrePrice().hashCode() : 0);
        result = 31 * result + (getPrdOriginalPrice() != null ? getPrdOriginalPrice().hashCode() : 0);
        result = 31 * result + (getPropertyInfo() != null ? getPropertyInfo().hashCode() : 0);
        result = 31 * result + (getPrdCount() != null ? getPrdCount().hashCode() : 0);
        result = 31 * result + (getCataId() != null ? getCataId().hashCode() : 0);
        result = 31 * result + (getCata1Id() != null ? getCata1Id().hashCode() : 0);
        result = 31 * result + (getCata2Id() != null ? getCata2Id().hashCode() : 0);
        result = 31 * result + (getCata3Id() != null ? getCata3Id().hashCode() : 0);
        result = 31 * result + (getBrandId() != null ? getBrandId().hashCode() : 0);
        result = 31 * result + (getSku() != null ? getSku().hashCode() : 0);
        result = 31 * result + (getProductId() != null ? getProductId().hashCode() : 0);
        result = 31 * result + (getPicUrl() != null ? getPicUrl().hashCode() : 0);
        result = 31 * result + (getTitle() != null ? getTitle().hashCode() : 0);
        result = 31 * result + (getBondedArea() != null ? getBondedArea().hashCode() : 0);
        result = 31 * result + (getPriceType() != null ? getPriceType().hashCode() : 0);
        result = 31 * result + (getPrdRefundStatus() != null ? getPrdRefundStatus().hashCode() : 0);
        result = 31 * result + (getRefundChannel() != null ? getRefundChannel().hashCode() : 0);
        result = 31 * result + (getPrdFreight() != null ? getPrdFreight().hashCode() : 0);
        result = 31 * result + (getPrdYmtCoupon() != null ? getPrdYmtCoupon().hashCode() : 0);
        result = 31 * result + (getPrdSellerCoupon() != null ? getPrdSellerCoupon().hashCode() : 0);
        result = 31 * result + (getTariffType() != null ? getTariffType().hashCode() : 0);
        result = 31 * result + (getSalesType() != null ? getSalesType().hashCode() : 0);
        result = 31 * result + (getPrdPreSale() ? 1 : 0);
        result = 31 * result + (getPrdDiscount3P() != null ? getPrdDiscount3P().hashCode() : 0);
        result = 31 * result + (getReturn7d() ? 1 : 0);
        result = 31 * result + (getPrdPromotionAmount() != null ? getPrdPromotionAmount().hashCode() : 0);
        result = 31 * result + (getPackageNo() != null ? getPackageNo().hashCode() : 0);
        result = 31 * result + (isFreightFree() ? 1 : 0);
        result = 31 * result + (getProductVersion() != null ? getProductVersion().hashCode() : 0);
        result = 31 * result + (getProductCode() != null ? getProductCode().hashCode() : 0);
        result = 31 * result + (getActId() != null ? getActId().hashCode() : 0);
        result = 31 * result + (getActTemplateId() != null ? getActTemplateId().hashCode() : 0);
        result = 31 * result + (getPromotionId() != null ? getPromotionId().hashCode() : 0);
        result = 31 * result + (getPromotionType() != null ? getPromotionType().hashCode() : 0);
        result = 31 * result + (getPromotionName() != null ? getPromotionName().hashCode() : 0);
        result = 31 * result + (getPromotionCondition() != null ? getPromotionCondition().hashCode() : 0);
        result = 31 * result + (getPromotionContent() != null ? getPromotionContent().hashCode() : 0);
        result = 31 * result + (getPromotionAmount() != null ? getPromotionAmount().hashCode() : 0);
        result = 31 * result + (getRefundCount() != null ? getRefundCount().hashCode() : 0);
        result = 31 * result + (getPrdRefundNo() != null ? getPrdRefundNo().hashCode() : 0);
        return result;
    }
    
    public List<Refund> getFortest() {
		return fortest;
	}

	public void setFortest(List<Refund> fortest) {
		this.fortest = fortest;
	}

	private List<Refund> fortest;
}
